Shader "Image/ChannelMerge"
{
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };


            sampler2D _TextureR;
            sampler2D _TextureG;
            sampler2D _TextureB;
            sampler2D _TextureA;

            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = v.uv;
                return o;
            }

            float4 frag(v2f i) : SV_Target
            {
                float r = tex2D(_TextureR, i.uv).x;
                float g = tex2D(_TextureG, i.uv).x;
                float b = tex2D(_TextureB, i.uv).x;
                float a = tex2D(_TextureA, i.uv).x;
                return float4(r, g, b, a);
            }
            ENDCG
        }
    }
}
